home *** CD-ROM | disk | FTP | other *** search
- *
- * FOXPRO.PRG
- *
- * Visual FoxPro 3.0 Test Program
- *
-
- #define COM1 0
- #define COM2 1
- #define COM3 2
- #define COM4 3
-
- * WSC Functions (see WSC32.FOX for complete declaration file)
- DECLARE INTEGER SioBaud in WSC32.DLL INTEGER Port, INTEGER BaudCode
- DECLARE INTEGER SioDone in WSC32.DLL INTEGER Port
- DECLARE INTEGER SioDTR in WSC32.DLL INTEGER Port, INTEGER Cmd
- DECLARE INTEGER SioGetc in WSC32.DLL INTEGER Port
- DECLARE INTEGER SioPutc in WSC32.DLL INTEGER Port, INTEGER TheChar
- DECLARE INTEGER SioReset in WSC32.DLL INTEGER Port, INTEGER RxBufSize, INTEGER TxBufSize
- DECLARE INTEGER SioRTS in WSC32.DLL INTEGER Port, INTEGER Cmd
- DECLARE INTEGER SioWinError in WSC32.DLL STRING @Buffer, INTEGER Size
-
- Port = COM1
-
- CR = CHR(13)
- LF = CHR(10)
- Buffer = SPACE(128)
-
- ?? "Transmitting AT to modem connected to COM" + LTRIM(Str(1+Port)) + CR + LF
- ?? "Expecting OK back" + CR + LF
-
- * reset port
- Code = SioReset(Port,512,256)
- if Code < 0
- ? "Error: SioReset returns ", Code
- Code = SioWinError(@Buffer, 128)
- ? Buffer
- Return
- endif
- Code = SioBaud(Port,19200)
- * set DTR and RTS
- Code = SioDTR(Port,Asc("S"))
- Code = SioRTS(Port,Asc("S"))
- * transmit "AT" to modem
- Code = SioPutc(Port,13)
- Code = Delay(0.25)
- Code = SioPutc(Port,13)
- Code = Delay(0.25)
- Code = SioPutc(Port,Asc("A"))
- Code = Delay(0.25)
- Code = SioPutc(Port,Asc("T"))
- Code = Delay(0.25)
- Code = SioPutc(Port,13)
- * wait 1 second for response
- MarkTime = Seconds() + 1.0
- Do while Seconds() < MarkTime
- Code = SioGetc(Port)
- if Code = 13
- ?? CR
- endif
- if Code = 10
- ?? LF
- endif
- if Code >= 32
- ?? Chr(Code)
- endif
- EndDo
- ?? CR + LF
- Code = SioDone(Port)
- return
-
- * Delay Function ( waits <WaitSecs> )
-
- Function Delay
- Parameter WaitSecs
- Private Counter
- Private MarkTime
- Counter = 0
- MarkTime = Seconds() + WaitSecs
- do while Seconds() < MarkTime
- Counter = Counter + 1
- enddo
- return Counter
-
-
-